const express=require('express')

const app=express()
const USERMAME_DOES_NOT_EXISTS="USER_DOES_NOT_EXISTS"
const USERMANE_ALREADY_EXISTS="USERMANE_ALREADY_EXISTS"
app.post('/login',(req,res,next)=>{
    const flag=false;
    if(flag){
        res.json('登录成功')
    }else{
        //如果不是自带函数 就要自己调用下个中间件 不管是正确的还是错误的
        //使用带参数的next() 代表处理错误中间件
        next(new Error(USERMAME_DOES_NOT_EXISTS))
    }
})
app.post('register',(req,res,next)=>{
    const exists=true;
    if(!exists){
        res.end('注册成功')
    }else{
        next(new Error(USERMANE_ALREADY_EXISTS))
    }
})

app.use((err,req,res,next)=>{
    //设置返回的错误
    let mesage="";
    let status=400
    //message代表err属性
   switch(err.message){
       case USERMAME_DOES_NOT_EXISTS:
           mesage="username does does exites"
           break;
        case USERMANE_ALREADY_EXISTS:
            mesage="register is success"
            break;
         default:
             mesage="错误"   

   }
   res.json({mesage,status})

})

app.listen(8000,()=>{
    console.log('服务器启动成功')
})
